(1) Input format
----------------

The points must have integer coordinates.
The x- and y-coordinate are separated by
a blank.

Example:
-1 0
0 0
1 0
0 1
0 -1

(This is the file "example01.dat" from the
folder "examples".)


(2) Creating a MIP in CPLEX-format
----------------------------------

To create a description of the MIP in CPLEX-format 
type (using the example mentioned in (1)):

java CreateMIP examples/example01.dat examples/example01edges.dat examples/example01mip.dat

In general the program expects three filenames:
* The file containing the list of input points.
* The name of a file where the list of all
  (potentially) relevant edges of the grid
  induced by the input points is stored.
* The name of a file where the description of the
  MIP is stored.


(3) Solving the MIP
-------------------

In principle any MIP-solver could be used. To use
the freely available solver "glpsol" from the
GLPK type:

glpsol --cpxlp examples/example01mip.dat -w examples/example01sol.dat

The first file is just the output of CreateMIP.
The solution is written to the second file (in
a format specific to "glpsol").


(4) Extracting the edges of the solution
----------------------------------------

In case "glpsol" was used to solve the MIP,
the edges of an optimal network can be
extracted from the list of all relevant edges 
in the grid by typing:

java ExtractSolution examples/example01edges.dat examples/example01sol.dat examples/example01network.dat

This program again expects 3 filenames:
* The list of edges produced by CreateMIP
* The output of "glpsol".
* The name of a file where the edges of an
  optimal network are stored. The first line
  of this file also provides the total 
  length of the network.
